An integrated circuit often includes processing circuits that are configured to perform different tasks. For example, a programmable logic device may include circuits that can be reconfigured to implement different logic functions. The different processing circuits utilize system clock resources such as clock signals routed through associated clock paths.
System clock resources on an integrated circuit are typically limited. For example, a number of suitable clock signals available for use with a processing circuit decreases with increased logic complexity of the processing circuit. In a scenario in which many reconfigurable processing circuits are formed on a single programmable integrated circuit, the limited system clock resources must be shared among the reconfigurable processing circuits. Each configuration of the processing circuits may require different system clock resources. For example, a processing circuit configured in a first arrangement needs to be controlled using a first clock signal provided over a first clock path, whereas the processing circuit reconfigured in a second arrangement needs to be controlled using a second clock signal that is different than the first clock signals over a second clock path that is separate from the first clock path.
To accommodate reconfiguration of the processing circuits, conventional programmable integrated circuits reserve clock resources required by each configuration of each processing circuit. In the example above, the programmable integrated circuit reserves both first and second clock paths for the processing circuit even though only one of the first and second clock paths is used during normal operation of the integrated circuit. Providing multiple clock signals to the processing circuitry in this way may be inefficient and can waste valuable clock resources.
Therefore it may be desirable to provide improved distribution arrangements for system clock resources.